<?php
/******************** 使用方法:
<?php
include_once 'loadke.php';
$param = array(
	'ke_path'=>'/kindeditor/', // 必需参数 ke_path => kindeditor插件的路径
	'entersubmit'=>'form1', // ctrl+enter键自动提交 => 表单域id
	'dirname'=>'image', // 浏览服务器时必须的的参数 => 图片文件夹名称 (没有"浏览器服务器"按钮时, 可以省略该参数)
	'text_url'=>"imageurl,txt", // 保存图片路径的text文本框 => 文本框id,样式class (btn_* 参数任意一个不为空时, 必须设置该参数)
	'textarea'=>"content,tarea", // 创建富文本框 => textarea的name,样式class
	'btn_upload'=>'imageupload,上传图片,btn', // 上传图片按钮 => 按钮id,按钮value,按钮样式class
	'btn_manager'=>'filemanager,浏览服务器,btn', // 浏览服务器图片 => 按钮id,按钮value,按钮样式class
	'btn_preview'=>'imagepreview,预览,btn', // 预览text_url的图片 => 按钮id,按钮value,按钮样式class
);
$val_url = 'http://p5.qhimg.com/t015a19f86ad79e55fb.png';
$val_textarea = '1、资料包（.ZIP/.RAR ）<em><span style="color:#FF9900;">下载后请先用软件解压</span></em>，再使用对应软件打开。
2、如果因为您的Office版本太旧而无法打开Docx/PPTx文件，可免费升级到 Office2007
3、<span style="color:#006600;"><strong>SWF文件请用官方的播放器打开运行。</strong></span>';
$values = array(
	'text_url'=>$val_url,
	'textarea'=>$val_textarea,
	'textarea_wh'=>'700,300',
);
loadke_script($param);	
?>
<form method="post" id='form1' action="demo.php">
	<?php loadke_html($param,$values); ?>
	<br />
	<input type="submit" value="提交" />
</form>
***************************/
function loadke_parseparam($param){
	if(empty($param['ke_path'])){
		die('加载KE错误: 请设置KE插件的路径!');
	}
	if(!empty($param['btn_upload']) || !empty($param['btn_manager']) || !empty($param['btn_preview'])){
		if(empty($param['text_url'])){
			die('缺少"图片路径"文本框(参数: text_url)');
		}
	}
	foreach($param as $k=>$p){
		if(in_array($k,array('btn_upload','btn_manager','btn_preview'))){
			$tmparr = explode(',',$p);
			!empty($tmparr[0]) && $newparam[$k]['id'] = $tmparr[0];
			!empty($tmparr[1]) && $newparam[$k]['value'] = $tmparr[1];
			!empty($tmparr[2]) && $newparam[$k]['class'] = $tmparr[2];
		}elseif(in_array($k,array('text_url','textarea'))){
			$tmparr = explode(',',$p);
			!empty($tmparr[0]) && $newparam[$k]['id'] = $tmparr[0];
			!empty($tmparr[1]) && $newparam[$k]['class'] = $tmparr[1];
		}else{
			$newparam[$k] = $p;
		}
	}
	// var_dump($newparam);exit;
	return $newparam;
}
function loadke_script($param){
	$param = loadke_parseparam($param);
	echo <<<HTML
	<link rel="stylesheet" href="{$param['ke_path']}themes/default/default.css" />
	<link rel="stylesheet" href="{$param['ke_path']}plugins/code/prettify.css" />
	<script charset="utf-8" src="{$param['ke_path']}kindeditor.js"></script>
	<script charset="utf-8" src="{$param['ke_path']}lang/zh_CN.js"></script>
	<script charset="utf-8" src="{$param['ke_path']}plugins/code/prettify.js"></script>
HTML;
	if(!empty($param['textarea'])){
		if($param['entersubmit'] != false){
			$entersubmit_html = "
			,afterCreate : function() {
				var self = this;
				K.ctrl(document, 13, function() {
					self.sync();
					K('#{$param['entersubmit']}')[0].submit();
				});
				K.ctrl(self.edit.doc, 13, function() {
					self.sync();
					K('#{$param['entersubmit']}')[0].submit();
				});
			}";
		}
		$html1 = "
		// 富文本框
		var editor = K.create('textarea[name=\"{$param['textarea']['id']}\"]', {
			cssPath : '{$param['ke_path']}plugins/code/prettify.css',
			uploadJson : '{$param['ke_path']}php/upload_json.php',
			fileManagerJson : '{$param['ke_path']}php/file_manager_json.php',
			allowFileManager : true
			{$entersubmit_html}
		});
		prettyPrint();
		";
	}
	if(!empty($param['btn_upload'])){
		$html2 = "
		// 上传图片
		K('#{$param['btn_upload']['id']}').click(function() {
			var editor = K.editor({
				allowFileManager : true
			});
			editor.loadPlugin('image', function() {
				editor.plugin.imageDialog({
					showRemote : false,
					imageUrl : K('#{$param['text_url']['id']}').val(),
					clickFn : function(imageurl, title, width, height, border, align) {
						K('#{$param['text_url']['id']}').val(imageurl);
						editor.hideDialog();
					}
				});
			});
		});
		";
	}
	if(!empty($param['btn_manager'])){
		$html3 = "
		// 浏览服务器(文件管理器)
		K('#{$param['btn_manager']['id']}').click(function() {
			var editor = K.editor({
				fileManagerJson : '{$param['ke_path']}php/file_manager_json.php'
			});
			editor.loadPlugin('filemanager', function() {
				editor.plugin.filemanagerDialog({
					viewType : 'VIEW',
					dirName : '{$param['dirname']}', // 图片存放文件夹
					clickFn : function(imageurl, title) {
						K('#{$param['text_url']['id']}').val(imageurl);
						editor.hideDialog();
					}
				});
			});
		});
		";
	}
	if(!empty($param['btn_preview'])){
		$html4 = "
		// 预览
		K('#{$param['btn_preview']['id']}').click(function() {
			var imageurl = K('#{$param['text_url']['id']}').val();
			var dialog = K.dialog({
				width : 'auto',
				title : '预览',
				body : \"<div style='margin:10px;'><strong><img src='\"+imageurl+\"'></strong></div>\",
				closeBtn : { // noBtn 的属性跟它一样!
					name : '关闭',
					click : function(e) {
						dialog.remove();
					}
				}
			});
		});
		";
	}
	echo "<script>KindEditor.ready(function(K) {".$html1.$html2.$html3.$html4."});</script>";
}
function loadke_html($param,$values){
	$param = loadke_parseparam($param);
	if(!empty($param['textarea'])){
		$widthval = 700;
		$heightval = 300;
		if(!empty($values['textarea_wh'])){
			list($widthval,$heightval) = (explode(',',$values['textarea_wh']));
		}
		$html1 = '<textarea class="'.$param['textarea']['class'].'" name="'.$param['textarea']['id'].'"  style="width:'.$widthval.'px;height:'.$heightval.'px;visibility:hidden;">'.$values['textarea'].'</textarea>';
	}
	if(!empty($param['text_url'])){
		$html2 = '<input class="'.$param['text_url']['class'].'" type="text" id="imageurl" value="'.$values['text_url'].'" name="image" />';
		if(!empty($param['btn_upload'])){
			$html3 = '<input class="'.$param['btn_upload']['class'].'" type="button" id="imageupload" value="'.$param['btn_upload']['value'].'" />';
		}
		if(!empty($param['btn_manager'])){
			$html4 = '<input class="'.$param['btn_manager']['class'].'" type="button" id="filemanager" value="'.$param['btn_manager']['value'].'" />';
		}
		if(!empty($param['btn_preview'])){
			$html5 = '<a href="#" id="imagepreview" class="'.$param['btn_preview']['class'].'">'.$param['btn_preview']['value'].'</a>';
		}
	}
	echo $html1.$html2.$html3.$html4.$html5;
}
?>